package dao.impl;

import dao.AbstractFactory;
import dao.AdresseDao;
import dao.ClientParticulierDao;
import dao.ClientSocieteDao;
import dao.CodePostalDao;
import dao.EmployeDao;
import dao.FormeDao;
import dao.InterventionDao;
import dao.TechnicienDao;
import dao.ZoneDao;

public class FactoryImpl extends dao.AbstractFactory{

        //Constructeur du singleton
        public static void enregistrer(){
                new FactoryImpl();
        }

        private FactoryImpl(){
                AbstractFactory.setInstance(this);
        }

        @Override
        public ClientParticulierDao getClientParticulierDao() {
                return ClientParticulierDaoImpl.getInstance();
        }

        @Override
        public ClientSocieteDao getClientSocieteDao() {
                return ClientSocieteDaoImpl.getInstance();
        }

        @Override
        public EmployeDao getEmployeDao() {
                return EmployeDaoImpl.getInstance();
        }

        @Override
        public InterventionDao getInterventionDao() {
                return InterventionDaoImpl.getInstance();
        }

        @Override
        public TechnicienDao getTechnicienDao() {
                return TechnicienDaoImpl.getInstance();
                        
        }

    @Override
    public AdresseDao getAdresseDao() {
        return AdresseDaoImpl.getInstance();
    }

    @Override
    public CodePostalDao getCodePostalDao() {
        return CodePostalDaoImpl.getInstance();
    }

    @Override
    public ZoneDao getZoneDao() {
        return ZoneDaoImpl.getInstance();
    }

    @Override
    public FormeDao getFormeDao() {
        return FormeDaoImpl.getInstance();
    }
}